pub fn convert_base(num_str: &str, to_base: u32) -> String {
    // 声明一个存储最终数据的字符串
    let mut result = String::new();
    // 获取传入的值，将传入的值用10进制显示
    let mut number = convert_number(num_str);
    // 声明显示的进制，最大支持36进制
    let chars = "0123456789abcdefghijklmnopqrstuvwxyz";
    // 当进制大于了36就直接返回，办不了
    if to_base > 36{
        return "".to_string();
    }
    // 开始进行除法处理
    while number > 0 {
        // 取余
        let remainder = (number % to_base) as usize;
        // 将取余的值用chars中的字符显示
        // 并放到result中
        result.push(chars.chars().nth(remainder).unwrap());
        // 进行除法处理
        number = number/to_base;
    }
    // 如果有存储数据，则需要颠倒顺序
    if result.len() > 0{
        return result.chars().rev().collect::<String>();
    }
    "0".to_string()
}

/**
    将需要抓换的数值变为十进制的数
*/
pub fn convert_number(input_str: &str) -> u32{
    // 需要转换的数组
    let mut str_number = String::new();
    // 中间字符串的存储变量，后续可存储进制字符串
    let mut substring = String::new();
    // 将字符串分解成字符
    for c in input_str.chars(){
        // 判断当前字符是否为括号
        if c != '(' && c != ')' {
            // 非括号则添加到中间字符串中
            substring += &c.to_string();
        }else if c == '(' {
            // 如果为左括号，则将之前的中间字符串赋给str_number
            str_number = substring.clone();
            substring = String::new();
        }
    }
    u32::from_str_radix(str_number.as_str(), substring.parse().unwrap()).unwrap()
}
